Method and Apparatus for Conveying Vehicle Driving Information

ABSTRACT

Described are methods and apparatuses, including computer program products, for conveying vehicle driving information. A hazard index indicating a level of driving safety is generated for a plurality of road segments. The generating comprises determining a hazard value for each of the plurality of road segments based on weather conditions data associated with the road segments, road conditions data associated with the road segments, and physical attributes of the road segments, and assigning the hazard value to the associated road segment. Location data associated with a remote device is received. Hazard information associated with one or more of the plurality of road segments and based on the location data and the hazard index is transmitted.

FIELD OF THE INVENTION

The subject matter of this application relates generally to methods andapparatuses, including computer program products, for conveying vehicledriving information.

BACKGROUND OF THE INVENTION

Reporting of current and forecast weather conditions has become one ofthe most important and relied-upon sources of information for manydrivers in understanding and responding to hazardous driving conditions.Access to up-to-date and accurate severe weather bulletins helps adriver prepare for severe weather, plan an alternate route of travelwhile in his vehicle, or enables him to avoid driving altogether if theconditions are too dangerous.

Currently, a popular source of this type of driving information is theradio. Drivers tune in to local stations and receiveintermittently-scheduled weather summaries for their area. While radiostations provide easy-to-understand weather reports, there is often afairly substantial lag time between when a weather event occurs and whenthat event is reported over the air. Also, radio reports may not belocalized to the specific road on which a driver is currently traveling.The delay can be costly to a driver who ends up in the middle of anintense thunderstorm when he could have easily altered his route uponreceiving the incident information even a few minutes or secondsearlier.

Recently, more vehicles have been equipped with global positioningsystems (GPS), which offer a precise depiction of the current locationof the vehicle along with a representation of surrounding roads andpoints of interest. Most models also include audible, turn-by-turndirections to assist the driver in reaching his intended destination.Some GPS devices can also integrate limited weather information, such asradar maps, into their display. However, the data offered by GPS devicesoften does not display a simple message to the user as related toweather-related driving conditions.

Another drawback to the above-mentioned sources of weather informationis the lack of a hazard index based on both the weather conditions, roadconditions, and physical road attributes. When utilized in conjunctionwith weather information, road conditions and physical road attributesare a valuable factor in giving a clearer indication of the potentialfor hazardous driving. For example, a road facing directly toward thesun can be considered more dangerous than a road facing away from thesun. Further, a section of road composed of gravel may be consideredmore hazardous than a freshly-paved asphalt section. In another example,a road covered with a layer of ice or slush can be considered moredangerous than a road that is clean and dry. However, the currentsources of information may not have access to road conditions data andphysical road attributes data, thereby omitting a crucial factor for anaccurate determination of road hazards.

In light of the above concerns, it would be desirous to develop a systemthat provides real-time, accurate reporting of hazardous road conditionsto a driver based on the convergence of weather, location, roadconditions, and physical road attributes.

SUMMARY

In one aspect, there is a method for conveying vehicle drivinginformation. A hazard index indicating a level of driving safety isgenerated for a plurality of road segments. The generating comprisesdetermining a hazard value for each of the plurality of road segmentsbased on weather conditions data associated with the road segments, roadconditions data associated with the road segments, and physicalattributes of the road segments, and assigning the hazard value to theassociated road segment. Location data associated with a remote deviceis received. Hazard information associated with one or more of theplurality of road segments and based on the location data and the hazardindex is transmitted.

In another aspect, there is a computer program product for conveyingvehicle driving information. The computer program product is tangiblyembodied in a computer-readable storage medium. The computer programproduct includes instructions being operable to cause a data processingapparatus to generate a hazard index indicating a level of drivingsafety for a plurality of road segments. The generating comprisesdetermining a hazard value for each of the plurality of road segmentsbased on weather conditions data associated with the road segments, roadconditions data associated with the road segments, and physicalattributes of the road segments, and assigning the hazard value to theassociated road segment. Location data associated with a remote deviceis received. Hazard information associated with one or more of theplurality of road segments and based on the location data and the hazardindex is transmitted.

In another aspect, there is a system for conveying vehicle drivinginformation. The system comprises a data processing apparatus configuredto generate a hazard index indicating a level of driving safety isgenerated for a plurality of road segments. The generating comprisesdetermining a hazard value for each of the plurality of road segmentsbased on weather conditions data associated with the road segments, roadconditions data associated with the road segments, and physicalattributes of the road segments, and assigning the hazard value to theassociated road segment. Location data associated with a remote deviceis received. Hazard information associated with one or more of theplurality of road segments and based on the location data and the hazardindex is transmitted.

In another aspect, there is a system for conveying vehicle drivinginformation. The system comprises means for generating a hazard indexindicating a level of driving safety for a plurality of road segments.The generating comprises determining a hazard value for each of theplurality of road segments based on weather conditions data associatedwith the road segments, road conditions data associated with the roadsegments, and physical attributes of the road segments, and assigningthe hazard value to the associated road segment. The system comprisesmeans for receiving location data associated with a remote device. Thesystem comprises means for transmitting hazard information associatedwith one or more of the plurality of road segments and based on thelocation data and the hazard index.

In another aspect, there is a method for receiving vehicle drivinginformation. Location data is transmitted from a remote device to aserver computing device. Hazard information associated with one or moreroad segments is received. The hazard information is based on thelocation data and a hazard index generated by the server computingdevice. At least a portion of the hazard information is displayed on adisplay associated with the remote device.

In some embodiments, any of the aspects include one or more of thefollowing features. The physical attributes of the road segments includeroad surface composition, solar orientation, topography, or anycombination thereof. Generating a hazard index includes assigning anidentifier to each of the plurality of road segments.

In some embodiments, the road conditions data associated with the roadsegments include temperature of the road surface, accumulation ofprecipitation on the road surface, accumulation of film on the roadsurface, level of salinity associated with the road surface, or anycombination thereof.

In some embodiments, a hazard zone is generated based on the hazardindex. The hazard zone comprises a geographical area in proximity to aweather event. The hazard information is transmitted to the remotedevice when the received location data is associated with a road segmentwithin the hazard zone. The geographical area includes locations at apredetermined distance from the location of the weather event.

In some embodiments, the hazard index is updated at regular intervals.The hazard index can be updated every minute. The hazard informationincludes one or more hazard values, one or more alert messages, one ormore graphical representations of the road segments, or any combinationthereof.

The one or more graphical representations includes a road map. The roadmap includes one or more road segments colored to indicate the assignedhazard value. The one or more graphical representations includes a grid.The grid includes one or more sections colored to indicate the assignedhazard value. The one or more graphical representations includes a texttable. The text table includes driving directions colored to indicatethe assigned hazard value.

In some embodiments, the weather conditions data includes a time valueassociated with a weather event. Determining a hazard value comprisesweighing factors associated with the weather conditions data, the roadconditions data, and the physical road attributes according to apredefined algorithm. Generating a hazard index further comprisesdetermining a predicted hazard value for each of the one or more roadsegments associated with the location data, the predicted hazard valuebased on the weather conditions data, the road conditions data, and thephysical road attributes.

In some embodiments, the location data comprises global positioninginformation. The global positioning information includes alatitude-longitude bounding box. The plurality of road segmentsrepresents segments of major highways and secondary highways. In someembodiments, the hazard index is stored in a storage device.

Further features and advantages of the present invention as well as thestructure and operation of various embodiments of the present inventionare described in detail below with reference to the accompanyingdrawings.

DESCRIPTION OF FIGURES

FIG. 1 is a block diagram of an exemplary system for conveying vehicledriving information, according to an illustrative embodiment of theinvention.

FIG. 2 is a workflow diagram of an exemplary method for conveyingvehicle driving information, according to an illustrative embodiment ofthe invention.

FIG. 3 is a screenshot of a graphical representation of a road mapcontaining one or more road segments colored to indicate an assignedhazard value, according to an illustrative embodiment of the invention.

FIGS. 4A-4B are screenshots of a graphical representation of a road mapdisplayed on a remote device containing one or more sections colored toindicate an assigned hazard value, according to an illustrativeembodiment of the invention.

FIG. 5 is a screenshot of a text table containing turn-by-turn drivingdirections associated with a color to indicate an assigned hazard value,according to an illustrative embodiment of the invention.

DETAILED DESCRIPTION

In general overview, the techniques described below includes methods andapparatuses that are for conveying vehicle driving information. Thetechniques are related to seamlessly integrating multiple sources ofdata associated with driving conditions for delivery to a remote device.The techniques achieve the important advantage of converting complicatedweather, road condition, and physical road attributes into aneasy-to-understand format, and presenting a real-time indication of thedriving conditions of one or more road segments associated with a remotedevice upon receiving a request from the device, thereby allowing usersto quickly evaluate the driving safety of a particular road or travelroute.

One aspect of the present techniques is the incorporation of physicalroad attributes (e.g., topography, solar orientation, road surfacecomposition) into the determination of driving safety, adding anotherlayer of granularity for drivers seeking the most complete information.Overlooked in previous methods and systems, awareness of the physicalroad attributes can have a dramatic impact on lessening or increasingthe risk of dangerous driving conditions, when coupled with othersources of driving information. The techniques offer the ability tosimulate a driving decision that the driver would need to make, andproviding information related to the decision for the driver'sevaluation. Another aspect of the present techniques is theconsolidation of weather conditions data, road conditions data, andphysical road attributes into a harmonized and effective single-sourcetool for drivers to assess travel conditions proactively, and also toreceive timely alerts and status updates upon request so the drivers canmake safer driving decisions while out on the road.

FIG. 1 is a block diagram of an exemplary system 100 for conveyingvehicle driving information, according to an illustrative embodiment ofthe invention. The system 100 includes a remote device 102, acommunications network 104, a server computing device 106, and one ormore data sources 108 a-c. In some embodiments, the server 106 and datasources 108 a-c reside at the same physical location or may be dispersedto multiple physical locations. In some embodiments, the server 106 anddata sources 108 a-c are located on the same physical device. In otherembodiments, one or more of the data sources 108 a-c are distributedover many devices. The server 106 and data sources 108 a-c communicatevia a communications network, for example the communications network104.

The remote device 102 is the hardware that displays the vehicle drivinginformation to the user. Example devices take on many forms, includingbut not limited to a global positioning system (GPS) device, a smartphone, a personal computer, an internet appliance, a personal navigationdevice, an in-car dash computer, a set-top box, or the like. In someembodiments, the remote device 102 is located in or installed in avehicle. The remote device 102 includes network-interface components toenable the user to connect to a communications network 104, such as theInternet. The remote device 102 also includes application firmware orsoftware to generate a visual representation of the vehicle drivinginformation. In some examples, the application software can be browsersoftware such as Microsoft® Internet Explorer, Mozilla Firefox®, orother similar software applications. The remote device 102 alsocommunicates with a display for presenting the vehicle drivinginformation to the user.

The communications network 104 channels communications from the remotedevice 102 to the server 106. The network 104 may be a local network,such as a LAN, or a wide area network, such as the Internet or the WorldWide Web. The network 104 may utilize satellite communicationstechnology. For example, the remote device 102 may send and receiveinformation via a communications link to a satellite, which in turncommunicates with the server 106. The remote device 102 and the server106 transmit data using a standard transmission protocol, such as XML,SMS, or other similar data communication techniques.

The server 106 includes a data communication module 110 which receiveslocation information from the remote device 102 and sends vehicledriving information to the remote device 102. The data communicationmodule 110 also communicates with the data sources 108 a-c to retrieveweather conditions data, road conditions data, physical road attributedata, and other similar information. The server also includes a hazardindex generation module 112 to be used in generating a hazard index forthe one or more road segments. The data sources 108 a-c need not becomputing devices hosting database applications, as in the traditionalsense. In some embodiments, the data sources 108 a-c are communicationlinks to sensors, radars or other devices which can transmit datadirectly to the server 106 as that data is collected. The sensors can befixed in one place or installed in vehicles or other transitoryapparatuses. In some embodiments, the data sources 108 a-c are datafeeds received from various governmental and/or commercial entitieswhich collect and make the requisite data available for retrieval by theserver 106. In some embodiments, the data sources 108 a-c are computingdevices hosting database applications. The number of data sources 108a-c in FIG. 1 is only provided as one example; the server 106 cancommunicate with any number of data sources.

FIG. 2 is a workflow diagram 200 of an exemplary method for conveyingvehicle driving information associated with the system 100, according toan illustrative embodiment of the invention. The data communicationmodule 110 receives (202) weather conditions data and physical roadattribute data from one or more data sources (e.g., data sources 108a-c). The hazard index generation module 112 generates a hazard indexfor a plurality of road segments by determining (204) a hazard value forone or more road segments based on the forecast weather data, theweather conditions data as well as the physical road attribute data, andassigning (206) the hazard value to the corresponding road segment. Auser (e.g., the driver of a vehicle) utilizes a remote device 102 (e.g.,a GPS navigation device) to transmit location data to the server 106 viathe communications network 104, and the server 106—via the datacommunication module 110—receives (208) the location data. The datacommunication module 110 transmits (210) hazard information based on thelocation data and the hazard index back to the remote device 102.

In some embodiments, the data communication module 110 continuallyreceives data from the respective data sources 108 a-c without activelyrequesting the data. As a result, the hazard index generation module 112continuously updates the hazard values based on the most current weatherconditions data, road conditions data, and physical road attributes, andconstantly assigns the hazard values to selected road segments. In apreferred embodiment, the system 100 generates the hazard index for allof the road segments in a predefined coverage area at the same time. Forexample, the predefined coverage area could be the entire United States,and the system 100 determines hazard values for each of the roadsegments comprising the various roads within the U.S. and assign thevalues to the road segments to generate the hazard index. The hazardindex is updated at regular intervals (e.g., each minute). Later, when aremote device 102 transmits location data to the data communicationmodule 110, the hazard index generation module 112 determines andassigns the specific hazard value associated with that location withoutfirst retrieving the necessary data from one or more of the data sources108 a-c. This technique provides the advantage of increasing theefficiency and speed of the system 100 because the hazard index and itsassociated hazard values have already been generated, and the system 100transmits the hazard information to the remote device 102 withoutincurring substantial processing costs.

In some embodiments, the hazard index generation module 112 assigns anidentifier to each of the plurality of road segments. In someembodiments, the identifier is a system-defined value, such as anidentification number or code, to allow the system to conduct datatransactions associated with a specific road segment quickly andefficiently. The identifier can be stored in a data storage device aspart of the hazard index.

In generating the hazard index for the plurality of road segments, thehazard index generation module 112 considers many different factors,which are separated into three broad categories: weather conditions,road conditions, and physical road attributes. The hazard indexgeneration module 112 is not limited to factors associated with thesecategories, and the module 112 considers other factors related to roadsafety, such as traffic conditions or road configurations. Specific dataelements from the categories are used to determine the hazard value. Insome embodiments, the hazard index generation module 112 determines ahazard value without requiring data elements from all categories. Insome embodiments, the respective data elements used to determine thehazard value are assessed differently, for example, by assigning one ormore weighted coefficients to each data element based on a predeterminedalgorithm or determination scheme. Further detail about thedetermination of the hazard value and the weighted coefficient isdescribed below.

The weather condition data elements correspond to current and forecastweather activity associated with the location of one or more roadsegments. The weather condition data elements can be provided by aweather information service such as the WeatherBug® family ofapplications provided by AWS Convergence Technologies, Inc. ofGermantown, Md. In some embodiments, the data elements provided by theweather information service are obtained, for example, from a network ofweather sensors geographically distributed to cover a specific area oreven the entire country. The weather condition elements include but arenot limited to precipitation (e.g., rain, snow, sleet, etc.), windspeed, wind direction, fog, humidity, sun position, barometric pressure,surface temperature, temperatures aloft, cloud cover, smoke/ash fromnearby fires, and severe weather events (e.g., hurricanes, tornadoes,lightning, etc.).

Any of the weather condition elements can be evaluated temporally. Forexample, the data communication module 110 receives from a data source(e.g., data source 108 a) a timestamp or start/end times associated witha rainfall event. When the hazard index generation module 112 evaluatesthe rainfall event for incorporation into a hazard value, the time atwhich the rainfall occurred helps the hazard index generation module 112make a more accurate determination of the dangerousness of a particularroad segment. The hazard index generation module 112 determines thatrecently-started rainfall could contribute, for example, to a build-upof oily residue on the road surface—and therefore the hazard indexgeneration module 112 assigns a different hazard value than if therainfall had been occurring for a longer period of time or had stoppedforty-five minutes ago, allowing the road to dry out. Similarly, thehazard index generation module 112 factors rates of precipitation intothe determination of a hazard value. For example, upon receivinginformation that snow is currently falling at the rate of one inch perhour in a specific location, the hazard index generation module 112assigns a higher hazard value to that location than if the snow onlyfell at one-quarter of an inch per hour.

Another type of weather condition data element which can be used by thehazard index generation module 112 to determine a hazard value ishistorical or forecast weather data. For example, the data communicationmodule 110 receives information from a weather service (e.g., 108 a)that a severe thunderstorm is expected to travel through a location inthe next thirty minutes, the hazard index generation module 112incorporates the forecast into the hazard value determination for thatlocation. In some embodiments, the data communication module 110receives information that the occurrence of flooding in a particularlocation has historically been greater, for example, during certainmonths of the year or when certain weather conditions exist. The hazardindex generation module 112 subsequently assigns a higher hazard valueto that location depending on whether the historical criteria have beenmet.

The road conditions data correspond to external factors affecting thesafety of the road surface associated with a specific location. In someembodiments, the road conditions data are provided by, for example, agovernmental source such as the U.S. Department of Transportation. Suchroad conditions data elements include but are not limited to roadtemperature, salinity associated with the road surface, accumulation ofprecipitation (e.g., ice, slush, snow, rainwater) on the road surface,accumulation of other elements (e.g., oil film, chemical film) on theroad surface.

The physical road attribute data elements correspond to the layout,orientation, and composition of roads associated with a specificlocation. In some embodiments, the physical road attribute data elementsare provided by a data service from companies such as Tele Atlas orESRI, or from a governmental source such as the U.S. Department ofTransportation. Such physical road attribute data elements include butare not limited to slope, surface angle, surface composition (e.g.,asphalt, gravel, etc.), solar orientation (e.g., position of the sun inrelation to the road surface), and topography.

To determine a hazard value for one or more road segments, the hazardindex generation module 112 evaluates one or more data elements receivedfrom any of the data sources 108 a-c. In some embodiments, the dataelements are evaluated according to a plurality of different algorithms,and the data elements are weighted differently, for example, accordingto predetermined thresholds or the satisfaction of minimum requirements.In one embodiment, the hazard value of a road segment increases based onthe amount of snowfall in the past twelve hours. The hazard indexgeneration module 112 assigns (206) a low hazard value if the amount ofsnowfall is less than half an inch, a moderate hazard value if theamount of snowfall is between half an inch and three inches, and a highhazard value if the amount of snowfall is between three and eightinches. The hazard value assigned based on the snowfall is compared withhazard values for other data elements like road conditions and/orphysical road attributes to generate an overall hazard value for thatroad segment. Other examples of predetermined thresholds include theradar density associated with precipitation in a particular area or roadsegment and a road surface temperature above or below a certainpredefined value The thresholds are defined based on historical weatherconditions data, standardized minimum safe driving conditionsinformation, user-defined criteria, or other similar methods.

In some embodiments, the hazard index generation module 112 evaluatesall of the data elements associated with a road segment and determines asingle hazard value based on a combination of the respective dataelements. For example, the data communication module 110 receivesinformation from the data sources 108 a-c that three inches of snow hasfallen in the past two hours on a road segment consisting of an asphaltsurface with a temperature of 15 degrees F. The hazard index generationmodule 112 assigns a severe hazard value to that road segment. Inanother embodiment, the data communication module 110 receivesinformation from the data sources 108 a-c that the weather is clear andcalm on an asphalt road segment with a temperature of 72 degrees F. Thehazard index generation module 112 assigns a low hazard value to thatroad segment.

Once the hazard index generation module 112 has assigned a hazard valueto a particular road segment, the hazard index generation module 112continually monitors the data elements associated with that road segmentreceived by the data communication module 110 to determine if the hazardvalue should be upgraded or downgraded. The hazard index generationmodule 112, for example, gradually reduces the hazard value if theweather conditions associated with the road segment improve (e.g., heavyrainfall subsides) or if a predetermined time value elapses since thedata communication module 110 last received information indicating aweather event (e.g., four hours have passed since rainfall had ended).The hazard index generation module 112 also evaluates the current dataelements against a series of minimum requirements which must be metbefore the hazard value is reduced or eliminated. For example, a severehazard value associated with rainfall at a specific road segment ismaintained by the hazard index generation module 112 until informationis received by the data communication module 110 from the data sources108 a-c that the relative humidity in the area has dropped below 85percent and no rainfall has occurred for thirty minutes, indicating thata road surface has dried. In one embodiment, a hazard value associatedwith wind gusts is maintained by the hazard index generation module 112until information is received by the data communication module 110 fromthe data sources 108 a-c that no wind gust has been recorded above 30miles per hour for the last fifteen minutes during the summer months andfor the last two hours in the winter months. In other embodiments, thehazard index generation module 112 removes an assigned hazard valuealtogether if the conditions meet a predetermined threshold.

In some embodiments, the hazard index generation module 112 assigns(206) a hazard value to a particular road segment based on a predictiveevaluation of the data elements associated with that road segment. Thehazard index generation module 112 also evaluates data elementsassociated with road segments in proximity to the targeted road segmentin order to conduct a predictive evaluation. The hazard index generationmodule 112, for example, determines that the current location andpredicted movement of a weather event (e.g., a localized cell of heavyrainfall) will impact a particular road segment in thirty minutes. Thehazard index generation module 112 assigns a low current hazard value tothe road segment because the severe weather is not overhead at thepresent time. The hazard index generation module 112 also assigns a high“future” hazard value to the same road segment based on the approach ofthe weather event.

In some embodiments, the data communication module 110 transmits thecurrent hazard value and/or the future hazard value as an alert to aremote device. For example, the hazard index generation module 112determines that each road segment along a user's travel route currentlyhas a low hazard value, but the hazard value of a road segment at whichthe user will arrive in 30 minutes will change to ‘high’ atapproximately the same time the user arrives. The data communicationmodule 110 transmits an alert to the user's remote device 102 indicatingthat severe weather is likely to impact the travel route in the future.The user can then decide whether to continue along the same route, seekan alternate route, or stop driving until the future hazard valuereturns to ‘low’.

In some embodiments, the hazard index generation module 112 generates ahazard zone by retrieving hazard values associated with road segments ina zone surrounding the current location of a weather event. For example,the hazard index generation module 112 determines that a severethunderstorm has appeared at a particular geographical location. Thehazard index generation module 112 assembles all of the road segments inproximity to the thunderstorm into a hazard zone. Generation of thehazard zone can incorporate both current weather conditions data andforecast weather conditions data.

In determining which road segments to include in the hazard zone, thehazard index generation module 112 identifies road segments within apredefined geographical area extending outward from the weather event.For example, the hazard index generation module 112 identifies all roadsegments within a five-mile radius from the weather event to include ina hazard zone. As a result, in some embodiments, the hazard indexgeneration module 112 increases the hazard value associated with roadsegments included in a hazard zone. Alternatively, because most of theroad segments within a hazard zone may not be directly affected by theweather event, the hazard index generation module 112 leaves therespective hazard value for those road segments unchanged.

The hazard index generation module 112 can define the relative hazardvalues in different ways. In some embodiments, the hazard value areindicated by a color representing the severity of the hazard associatedwith a specific road segment (e.g., the color green indicates a lowhazard value, the color red indicates a high hazard value). In someembodiments, the assigned hazard value are indicated by a word (e.g.,clear, caution, severe), a number (e.g., 1 indicates a low hazard value,5 indicates a high hazard value), or any similar indicator. In apreferred embodiment, the hazard values are placed on a relative scaleto indicate the level of severity when compared to each other, althoughthe hazard values can be represented as independent values.

Once the hazard index generation module 112 has generated the hazardindex, the server 106—via the data communications module 110—receiveslocation data from remote devices (e.g., remote device 102) in order totransmit hazard information to the devices. The location data includesposition coordinates, address data, or other information to determinethe current location of the remote device 102. In some embodiments, thelocation data also includes parameters associated with the scope of theremote device's 102 data request. For example, the remote device 102 isa GPS navigation device, which may want to display the hazard values fornearby streets. The location data includes a request to limit the hazardvalues returned by the server 106 to the surrounding local area.Alternatively, the remote device 102 can be a personal computer, whichmay want to display the hazard values for a larger regional area. Thelocation data includes a request to include a broader view of assignedhazard values, for example, for fleet management operations.

After the data communications module 110 receives the location data, thehazard index generation module 112 analyzes the hazard index using thelocation data to retrieve the hazard values associated with roadsegments at or near the location. In one embodiment, the hazard indexgeneration module 112 retrieves hazard values corresponding to one ormore road segments on which the remote device 102 is currently locatedor traveling.

The module 112 also determines whether the location data is associatedwith a road segment within a hazard zone and, upon determining that theremote device 102 is at a location within the hazard zone, the module112 transmits hazard information to the remote device 102. In thisrespect, the hazard zone acts as a ‘buffer’ to inform drivers ofpotentially dangerous conditions well in advance of any encounter withthe weather event. For example, a driver using a GPS device (e.g., 102)connected with the system 100 may be traveling on a road that might leadhim directly toward a severe snowstorm. As the driver gets within apredetermined distance (e.g., 5 miles) of the snowstorm's location, thehazard index generation module 112 determines that the device 102 hascrossed the edge of the hazard zone. Accordingly, the data communicationmodule 110 transmits hazard information, such as an alert message, tothe remote device 102 indicating the approaching conditions. The drivercan then quickly make a decision on whether to pursue alternate routesor to pull off the road until the snowstorm subsides.

Once the hazard index generation module 112 has analyzed the hazardindex based on the received location data, the module 112 transmitshazard information back to the remote device 102. The hazard informationincludes one or more of the hazard values retrieved from the hazardindex, one or more alert messages, or one or more graphicalrepresentations of road segments associated with the hazard values.

For example, the hazard index generation module 112 generates agraphical representation of the road segments coded with thecorresponding hazard values. FIG. 3 is a screenshot of a graphicalrepresentation of a road map containing one or more road segmentscolored to indicate an assigned hazard value, according to anillustrative embodiment of the invention. Each of the road segments(e.g., road segments 302, 304, 306) in FIG. 3 is associated with aspecific color which indicates the assigned hazard value. For example,the road map contains a road segment 302 running north-south which iscolored red. Referring to the map legend 308, the color red isassociated with a ‘severe weather’ hazard value. Other road segments 304and 306 are colored yellow to indicate a ‘bad weather’ hazard value andgreen to indicate a ‘mild weather’ hazard value, respectively.

In some embodiments, the road map encompasses different areas ofcoverage. For example, the road map can be displayed at a localizedlevel (e.g., a neighborhood or street view), a regional level (e.g., acity or metropolitan area), or a national level. The hazard indexgeneration module 112 can generate multiple road maps for display on theremote device 102.

In some embodiments, the data communication module 110 transmits analert to a remote device 102 based on the hazard value assigned to acurrent location of the remote device 102. The alert can include anindicator reflecting the hazard value of a road segment on which theremote device is located.

FIGS. 4A-4B are screenshots of a graphical representation of a road mapdisplayed on a remote device containing an alert message associated withthe hazard index, according to an illustrate embodiment of theinvention. In FIG. 4A, the remote device 102 receives an alert 402 fromthe data communication module 110 indicating that heavy precipitation isoccurring along the road segment (e.g., Madison Street) at the remotedevice's 102 current location. In addition, the alert 402 is colored redto indicate to the user, for example, a severe hazard value associatedwith the alert 402. The user can then decide whether to continue alongthe same route, seek an alternate route, or stop driving until thehazard has subsided. In FIG. 4B, the remote device 102 receives an alert404 from the data communication module 110 indicating that moderate snowaccumulation has occurred along the road segment (e.g., Madison Street)at the remote device's 102 current location. The alert 404 is coloredyellow to indicate to the user, for example, a caution hazard valueassociated with the alert.

FIG. 5 is a screenshot 500 of a text table containing turn-by-turndriving directions associated with a color to indicate an assignedhazard value, according to an illustrative embodiment of the invention.A user sitting at a personal computer (e.g., remote device 102) connectsto the server 106 via browser software. The user enters, for example, astarting address and an ending address and transmit a request to theserver 106 for turn-by-turn driving directions. In determining anoptimal route and generating the directions, the hazard index generationmodule 112 assigns a hazard value to each road segment included as partof the determined route. The hazard index generation module 112generates a text table containing both the driving directions and anindication of the hazard value for display on the remote device 102. Forexample, the row containing the first driving direction 502 a (e.g., rowone) in the text table also contains a colored square 504 a indicatingthat the road segment associated with that direction has a low (e.g.,green) hazard value. The driving direction row 502 also includes moredetailed information 506 a, such as the current weather conditions(e.g., sunny/clear) and temperature (e.g., 50 degrees) for that roadsegment. A subsequent driving direction row 502 b (e.g., row twenty-one)contains a square 502 b colored red to indicate a severe hazard value,along with a raincloud 504 b and a temperature reading 506 b. The usercan quickly see that the weather conditions deteriorate along the travelroute, as the hazard value increases accordingly.

Use Case 1

As one example, John is at the wheel of his automobile which is equippedwith a remote device 102 (e.g., a GPS navigation device) incommunication with a server 106 over a communications network 104,according to the above-referenced techniques. The device 102 includes ascreen for displaying a road map containing John's current location andnearby streets. His device 102 transmits the current location (e.g.,traveling on Madison Street) of his vehicle to the communication network104. The current location is determined using global positioningtechniques known in the art. The data communication module 110 receivesthe location data and the hazard index generation module 112 retrievesone or more hazard values from the hazard index for the portion of theroad on which Joe is currently traveling, or will be traveling

For example, the hazard index generation module 112 determines that Johnis currently driving on road made of asphalt. The hazard indexgeneration module 112 also determines that the current weather is clearand sunny, and there have been no recent weather events associated withthat section of road. The hazard index generation module 112 haspreviously evaluated all of the physical road attributes, roadconditions data, and weather conditions data associated with John'scurrent location and has assigned a low hazard value (e.g., ‘Green’) tothe section of road. The hazard index generation module 112 generates aroad map display which contains the road segment colored green toindicate the hazard value. In other embodiments, the hazard indexgeneration module 112 generates a road map display with an associatedtext message indicating an alert message (e.g., “Clear” or “HeavyPrecipitation”) corresponding to the assigned hazard value. The alertmessage can be color-coded to indicate the hazard value. The datacommunication module 110 transmits the display and/or alert message backto the device 102 in John's car. John can then look at the display onhis device 102 and quickly see that he is traveling on a section of roadthat has a low hazard.

Use Case 2

As another example, Sally is at home in front of her remote device 102(e.g., a personal computer or smart phone) in communication with aserver 106 over a communications network 104, according to theabove-referenced techniques. The device 102 includes a display device(e.g., a monitor) and browser software. Sally accesses a travel websiteto view the route associated with her daily commute. The datacommunication module 110 receives information about Sally's commuterroute. The hazard index generation module 112 assigns a hazard value toeach of the road segments associated with her route and generates agraphical representation of the roads she uses. The data communicationmodule 110 transmits the graphical representation of the route back toSally's computer. Sally then sees that a hazard value of “Red—Severe” isassigned to the main highway she normally drives on her commute, due toheavy snowfall along the route. Sally can then plan an alternate routeor delay her travel to work, thereby avoiding the dangerous conditionson that section of road.

The above-described systems and methods can be implemented in digitalelectronic circuitry, in computer hardware, firmware, and/or software.The implementation can be as a computer program product (i.e., acomputer program tangibly embodied in a computer readable storagemedium). The implementation can, for example, be in a machine-readablestorage device and/or include a propagated signal, for execution by, orto control the operation of, data processing apparatus. Theimplementation can, for example, be a programmable processor, acomputer, and/or multiple computers.

A computer program can be written in any form of programming language,including compiled and/or interpreted languages, and the computerprogram can be deployed in any form, including as a stand-alone programor as a subroutine, element, and/or other unit suitable for use in acomputing environment. A computer program can be deployed to be executedon one computer or on multiple computers at one site.

Method steps can be performed by one or more programmable processorsexecuting a computer program to perform functions of the invention byoperating on input data and generating output. Method steps can also beperformed by and an apparatus can be implemented as special purposelogic circuitry. The circuitry can, for example, be a FPGA (fieldprogrammable gate array), an ASIC (application-specific integratedcircuit), a DSP (digital signal processor), and/or any other discretecircuitry that is configured to implement the required functions.Modules, subroutines, and software agents can refer to portions of thecomputer program, the processor, the special circuitry, software, and/orhardware that implements that functionality.

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor receives instructions and data from a read-only memory or arandom access memory or both. The essential elements of a computer are aprocessor for executing instructions and one or more memory devices forstoring instructions and data. Generally, a computer can include, can beoperatively coupled to receive data from and/or transfer data to one ormore mass storage devices for storing data (e.g., magnetic,magneto-optical disks, or optical disks).

Data transmission and instructions can also occur over a communicationsnetwork. Computer readable mediums suitable for embodying computerprogram instructions and data include all forms of non-volatile memory,including by way of example semiconductor memory devices. The computerreadable mediums can, for example, be EPROM, EEPROM, flash memorydevices, magnetic disks, internal hard disks, removable disks,magneto-optical disks, CD-ROM, and/or DVD-ROM disks. The processor andthe memory can be supplemented by, and/or incorporated in specialpurpose logic circuitry.

To provide for interaction with a user, the above described techniquescan be implemented on a computer having a display device or atransmitting device. The display device can be, for example, a cathoderay tube (CRT) and/or a liquid crystal display (LCD) monitor. Theinteraction with a user can be, for example, a display of information tothe user and a keyboard and a pointing device (e.g., a mouse or atrackball) by which the user can provide input to the computer (e.g.,interact with a user interface element). Other kinds of devices can beused to provide for interaction with a user. Other devices can be, forexample, feedback provided to the user in any form of sensory feedback(e.g., visual feedback, auditory feedback, or tactile feedback). Inputfrom the user can be, for example, received in any form, includingacoustic, speech, and/or tactile input.

The client device and the computing device can include, for example, acomputer, a computer with a browser device, a telephone, an IP phone, amobile device (e.g., cellular phone, personal digital assistant (PDA)device, smart phone, laptop computer, electronic mail device), and/orother communication devices. The browser device includes, for example, acomputer (e.g., desktop computer, laptop computer) with a world wide webbrowser (e.g., Microsoft® Internet Explorer® available from MicrosoftCorporation, Mozilla® Firefox available from Mozilla Corporation). Themobile computing device includes, for example, a Blackberry®.

The web servers can be, for example, a computer with a server module(e.g., Microsoft® Internet Information Services available from MicrosoftCorporation, Apache Web Server available from Apache SoftwareFoundation, Apache Tomcat Web Server available from Apache SoftwareFoundation).

The above described techniques can be implemented in a distributedcomputing system that includes a back-end component. The back-endcomponent can, for example, be a data server, a middleware component,and/or an application server. The above described techniques can beimplemented in a distributing computing system that includes a front-endcomponent. The front-end component can, for example, be a clientcomputer having a graphical user interface, a Web browser through whicha user can interact with an example implementation, and/or othergraphical user interfaces for a transmitting device. The components ofthe system can be interconnected by any form or medium of digital datacommunication (e.g., a communication network).

The system can include clients and servers. A client and a server aregenerally remote from each other and typically interact through acommunication network. The relationship of client and server arises byvirtue of computer programs running on the respective computers andhaving a client-server relationship to each other.

The above described communication networks can be implemented in apacket-based network, a circuit-based network, and/or a combination of apacket-based network and a circuit-based network. Packet-based networkscan include, for example, the Internet, a carrier internet protocol (IP)network (e.g., local area network (LAN), wide area network (WAN), campusarea network (CAN), metropolitan area network (MAN), home area network(HAN)), a private IP network, an IP private branch exchange (IPBX), awireless network (e.g., radio access network (RAN), 802.11 network,802.16 network, general packet radio service (GPRS) network, HiperLAN),and/or other packet-based networks. Circuit-based networks can include,for example, the public switched telephone network (PSTN), a privatebranch exchange (PBX), a wireless network (e.g., RAN, bluetooth,code-division multiple access (CDMA) network, time division multipleaccess (TDMA) network, global system for mobile communications (GSM)network), and/or other circuit-based networks.

Comprise, include, and/or plural forms of each are open ended andinclude the listed parts and can include additional parts that are notlisted. And/or is open ended and includes one or more of the listedparts and combinations of the listed parts.

One skilled in the art will realize the invention may be embodied inother specific forms without departing from the spirit or essentialcharacteristics thereof. The foregoing embodiments are therefore to beconsidered in all respects illustrative rather than limiting of theinvention described herein.

1. A method for conveying vehicle driving information comprising:generating, by a server computing device, a hazard index for a pluralityof road segments, wherein the hazard index indicates a level of drivingsafety, the generating comprising: determining a hazard value for eachof the plurality of road segments based on (i) weather conditions dataassociated with the road segments, (ii) road conditions data associatedwith the road segments, and (iii) physical attributes of the roadsegments; and assigning the hazard value to the corresponding roadsegment; receiving, by the server computing device, location dataassociated with a remote device; and transmitting, to the remote device,hazard information associated with one or more of the plurality of roadsegments based on the location data and the hazard index.
 2. The methodof claim 1, wherein the physical attributes of the road segments includeroad surface composition, solar orientation, topography, or anycombination thereof.
 3. The method of claim 1, wherein the roadconditions data associated with the road segments include temperature ofthe road surface, accumulation of precipitation on the road surface,accumulation of film on the road surface, level of salinity associatedwith the road surface, or any combination thereof.
 4. The method ofclaim 1, wherein the generating a hazard index includes assigning anidentifier to each of the one or more road segments.
 5. The method ofclaim 1, further comprising generating a hazard zone based on the hazardindex, wherein the hazard zone comprises a geographical area inproximity to a weather event.
 6. The method of claim 5, wherein thehazard information is transmitted to the remote device when the receivedlocation data is associated with a road segment within the hazard zone.7. The method of claim 5, wherein the geographical area includeslocations at a predetermined distance from the location of the weatherevent.
 8. The method of claim 1, wherein the hazard index is updated atregular intervals.
 9. The method of claim 8, wherein the hazard index isupdated every minute.
 10. The method of claim 1, wherein the hazardinformation includes one or more hazard values, one or more alertmessages, one or more graphical representations of the road segments, orany combination thereof.
 11. The method of claim 10, wherein the one ormore graphical representations include a road map.
 12. The method ofclaim 11, wherein the road map includes one or more road segmentscolored to indicate the assigned hazard value.
 13. The method of claim10, wherein the one or more graphical representations include a grid.14. The method of claim 13, wherein the grid includes one or moresections colored to indicate the assigned hazard value.
 15. The methodof claim 10, wherein the one or more graphical representations includesa text table.
 16. The method of claim 15, wherein the text tableincludes driving directions colored to indicate the assigned hazardvalue.
 17. The method of claim 1, wherein the weather conditions dataincludes a time value associated with a weather event.
 18. The method ofclaim 1, the determining a hazard value comprising weighing factorsassociated with the weather conditions data, the road conditions data,and the physical attributes of the road segments according to apredefined algorithm.
 19. The method of claim 1, the generating a hazardindex further comprising: determining a predicted hazard value for eachof the plurality of road segments associated with the location data,wherein the predicted hazard value is based on the weather conditionsdata associated with the road segments, the road conditions dataassociated with the road segments, and the physical attributes of theroad segments, and assigning the predicted hazard value to each of theplurality of road segments.
 20. The method of claim 1, wherein thelocation data comprises global positioning information.
 21. The methodof claim 20, wherein the global positioning information includes alatitude-longitude bounding box.
 22. The method of claim 1, wherein theroad segments represent segments of major highways and secondaryhighways.
 23. The method of claim 1, further comprising storing thehazard index in a storage device.
 24. A system for conveying vehicledriving information comprising: a data processing apparatus configuredto: generate a hazard index for a plurality of road segments, whereinthe hazard index indicates a level of driving safety, the generatingcomprising: determining a hazard value for each of the plurality of roadsegments based on (i) weather conditions data associated with the roadsegments, (ii) road conditions data associated with the road segments,and (iii) physical attributes of the road segments; and assigning thehazard value to the corresponding road segment; receive location dataassociated with a remote device; and transmit hazard informationassociated with one or more of the plurality of road segments based onthe location data and the hazard index.
 25. A system for conveyingvehicle driving information comprising: means for generating a hazardindex for a plurality of road segments, wherein the hazard indexindicates a level of driving safety, the generating comprising:determining a hazard value for each of the plurality of road segmentsbased on (i) weather conditions data associated with the road segments,ii) road conditions data associated with the road segments, and (iii)physical attributes of the road segments; and assigning the hazard valueto the corresponding road segment; means for receiving location dataassociated with a remote device; and means for transmitting hazardinformation associated with one or more of the plurality of roadsegments based on the location data and the hazard index.
 26. A computerprogram product, tangibly embodied in a computer readable storagemedium, for conveying vehicle driving information, the computer programproduct including instructions operable to cause a data processingapparatus to: generate a hazard index for a plurality of road segments,wherein the hazard index indicates a level of driving safety, thegenerating comprising: determining a hazard value for each of theplurality of road segments based on (i) weather conditions dataassociated with the road segments, ii) road conditions data associatedwith the road segments, and (iii) physical attributes of the roadsegments; and assigning the hazard value to the corresponding roadsegment; receive location data associated with a remote device; andtransmit hazard information associated with one or more of the pluralityof road segments based on the location data and the hazard index.
 27. Amethod for receiving vehicle driving information comprising:transmitting, from a remote device, location data to a server computingdevice; and receiving hazard information associated with associated withone or more road segments, the hazard information based on the locationdata and a hazard index generated by the server computing device. 28.The method of claim 27, further comprising displaying at least a portionof the hazard information on a display associated with the remotedevice.